#ifndef PACIENTE_H
#define PACIENTE_H
#include <QDjangoModel.h>
#include "patologia.h"
#include "grupopoblacional.h"
#include <QDate>
#include <QObject>

class Paciente:public QDjangoModel
{
    Q_OBJECT
    Q_PROPERTY(int idpaciente READ getIdPaciente WRITE setIdPaciente)
    Q_PROPERTY(int cedula READ getCedula WRITE setCedula)
    Q_PROPERTY(QString ruc READ getRuc WRITE setRuc)
    Q_PROPERTY(QString nombre READ getNombre WRITE setNombre)
    Q_PROPERTY(QString apellido READ getApellido WRITE setApellido)
    Q_PROPERTY(QString nombre_completo READ getNombre_completo() WRITE setNombre_completo())
    Q_PROPERTY(QString sexo READ getSexo WRITE setSexo)
    Q_PROPERTY(Patologia *patologia READ getPatologia WRITE setPatologia)
    Q_PROPERTY(GrupoPoblacional *grupopoblacional READ getGrupopoblacional WRITE setGrupopoblacional)
    Q_PROPERTY(QString direccion READ getDireccion WRITE setDireccion)
    Q_PROPERTY(QString telefono READ getTelefono WRITE setTelefono)
    Q_PROPERTY(QString dir_facturacion READ getDir_facturacion WRITE setDir_facturacion)
    Q_PROPERTY(QString email READ getEmail WRITE setEmail)
    Q_PROPERTY(QDate fecha_nac READ getFecha_nac WRITE setFecha_nac)
    Q_PROPERTY(QString estado READ getEstado WRITE setEstado)
    Q_CLASSINFO("idpaciente", "primary_key=true")


public:
    explicit Paciente(QObject *parent = 0);

    int getCedula() const;
    void setCedula(int value);

    QString getNombre() const;
    void setNombre(const QString &value);

    QString getApellido() const;
    void setApellido(const QString &value);

    QString getSexo() const;
    void setSexo(const QString &value);

    Patologia *getPatologia() const;
    void setPatologia(Patologia *value);

    GrupoPoblacional *getGrupopoblacional() const;
    void setGrupopoblacional(GrupoPoblacional *value);

    QString getDireccion() const;
    void setDireccion(const QString &value);

    QString getTelefono() const;
    void setTelefono(const QString &value);

    QString getDir_facturacion() const;
    void setDir_facturacion(const QString &value);

    QString getEmail() const;
    void setEmail(const QString &value);

    QDate getFecha_nac() const;
    void setFecha_nac(const QDate &value);

    int getIdPaciente() const;
    void setIdPaciente(int value);

    QString getEstado() const;
    void setEstado(const QString &value);

    QString getRuc() const;
    void setRuc(const QString &value);

    QString getNombre_completo() const;
    void setNombre_completo(const QString &value);

private:
    int idpaciente;
    int cedula;
    QString nombre, apellido, sexo, direccion, telefono, ruc,
    dir_facturacion, email;
    QDate fecha_nac;
    QString estado,nombre_completo;

};

#endif // PACIENTE_H
